package cn.getech.data.development.service;

import cn.getech.data.development.entity.dataMap.DataApplication;
import cn.getech.data.development.entity.dataMap.RollbackParam;
import cn.getech.data.development.model.dto.ApplyUserListDTO;
import cn.getech.data.intelligence.common.utils.PageUtils;
import cn.getech.system.center.entity.SysUserEntity;

import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;

public interface DataApplicationService {

    /**
     * 获取申请信息
     * @param tableId 表id
     * @param applyId 申请id
     */
    DataApplication queryApplyInfo(Integer tableId, Long applyId,Integer tableType);

    /**
     * 申请数据仓库提交
     */
    void saveApplyInfo(DataApplication param);

    /**
     * 申请审批
     */
    void dataApprove(DataApplication param);

    /**
     * 我的审批
     */
    PageUtils approveOwnList(Map<String, Object> params);

    /**
     * 我的申请
     */
    PageUtils applyOwnList(Map<String, Object> params);

    /**
     * 权限回收列表
     */
    PageUtils applyRollbackList(Map<String, Object> params);

    /**
     * 权限回收
     */
    void applyRollback(RollbackParam param);

    List<String> projectList(Integer tableType);

    List<Map<String, Object>> listUser();

    Set<ApplyUserListDTO> applyUserList();

    Set<ApplyUserListDTO> rollbackApplyUserList();

}
